﻿namespace MhAdmin.System;

public interface IEmailService : ITransient
{
    /// <summary>
    /// 邮件推送分页查询
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<SqlSugarPagedList<MsgMail>> Page(EmailPageInput input);

    /// <summary>
    /// 邮件推送列表查询
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<List<MsgMail>> List(EmailPageInput input);

    /// <summary>
    /// 邮件推送列表查询
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<MsgMail> Detail(BaseIdInput input);

    /// <summary>
    /// 邮件推送删除
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Delete(List<BaseIdInput> input);

    /// <summary>
    /// 邮件推送发送本地文本邮件
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> SendLocalTxt(EmailLocalSendInput input);

    /// <summary>
    /// 邮件推送发送本地HTML邮件
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> SendLocalHtml(EmailLocalSendInput input);
}
